package com.fotoloka.services.impl;

import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import com.fotoloka.services.FotoService;
import com.fotoloka.services.Fotografador;
import com.fotoloka.services.WebCam;

/**
 * Controlador para bater as fotografias e atualizar a exibição da sequencia de
 * fotografias tiradas.
 * 
 * @author Pablo
 * 
 */
public class FotografadorImpl implements Fotografador {

	private static FotografadorImpl instance;

	private final FotoService fotoService;

	private WebCam webCam;

	private FotografadorImpl(FotoService fotoService) {
		this.fotoService = fotoService;
	}

	public static FotografadorImpl getInstance(FotoService fotoService) {
		if (instance == null) {
			instance = new FotografadorImpl(fotoService);
		}
		return instance;
	}

	public WebCam getWebCam() {
		return webCam;
	}

	public void setWebCam(WebCam webCam) {
		this.webCam = webCam;
	}

	@Override
	public void capturarFoto() throws IOException {
		BufferedImage img = webCam.getImage();
		fotoService.armazenar(img);
	}

}
